#ifndef _SIMPLETLV_H_
#define _SIMPLETLV_H_
#include "TLVBase.h"

class CSimpleTLV: public CTLVBase
{
public:
    CSimpleTLV() {}
    virtual ~CSimpleTLV() {}

    virtual uint16_t getLength();
    virtual uint16_t encode(uint8_t* buffer, uint16_t length) ;

    //CSimpleTLV
    virtual void setTag(uint16_t tag, const uint8_t* value, uint16_t length);
    virtual void setTag(uint16_t tag, int32_t  value);
    virtual void setTag(uint16_t tag, int64_t  value);
    virtual void setTag(uint16_t tag, uint32_t value);
    virtual void setTag(uint16_t tag, uint64_t value);
    virtual void setTag(uint16_t tag, float_t  value);
    virtual void setTag(uint16_t tag, double_t value);

protected:
    TTLV m_tlv;
};

#endif 
